Cable Telemetry Synchronization System and Method

ABSTRACT

Cable telemetry synchronization systems and methods. The synchronization can involve positioning downhole equipment into a wellbore via a cable operatively coupled to a surface module that can include a telemetry system master clock. The downhole equipment can include a toolbus master node and at least one slave node module having a node clock operatively coupled to the toolbus master node. The synchronization can also involve sending a frame start command to the at least one slave node module from the toolbus master node at predetermined intervals, receiving a clock value from each of the at least one slave node module, calculating a clock offset for each of the at least one slave node module, and sending an absolute clock value and the calculated clock offset for each of the at least one slave node module via a downlink synchronization command to the at least one slave node module.

BACKGROUND

The following descriptions and examples are not admitted to be prior art by virtue of their inclusion in this section.

Hydrocarbon fluids, such as oil and natural gas, may be obtained from a subterranean geologic formation, referred to as a reservoir, by drilling a well that penetrates a hydrocarbon-bearing formation. A variety of downhole tools may be used in various areas of oil and natural gas services. In some cases, downhole tools may be used in a well for surveying, drilling, and production of hydrocarbons. The downhole tools may communicate with the surface via various telemetry systems. In some cases, the downhole tools may comprise one or more individual modules in operative communication with one another, such as a master module and multiple slave modules. Examples of communication systems are provided in U.S. Pat. Nos. 6,628,992, 7,181,515, and Application 20020178295.

With the increased precision of downhole tools and sensors, relatively shorter time may be available to send increasingly larger amounts of data. In addition to new modules and assemblies being developed for downhole use on a continuing basis, tool bus systems may facilitate communication between older and newer generation modules in order to obtain the maximum service life from existing modules.

Applications of disclosed embodiments of the present disclosure are not limited to these illustrated examples, different industrial applications may benefit from implementations of the following disclosure.

SUMMARY

In at least one aspect, the disclosure relates to a cable telemetry synchronization system for a wellsite having a rig positionable about a borehole penetrating a subterranean formation. The system can include a surface module including a telemetry system clock. The system can also include downhole equipment deployable into the wellbore via a cable operatively coupled to the surface module. The downhole equipment can include at least one slave node module, each of the slave node modules having a node clock and an interface packet. The downhole equipment can also include a downhole master node module including a toolbus master node clock synchronized to the telemetry system clock. The downhole master node module can send a frame start command to each of the slave node modules to synchronize the node clocks to the toolbus master node clock.

In at least another aspect, the disclosure relates to a method for synchronizing a cable telemetry synchronization system of a wellsite having a rig positionable about a wellbore penetrating a subterranean formation. The method can include positioning downhole equipment into the wellbore via a cable. The downhole equipment can include a toolbus master node and at least one slave node module operatively coupled to the toolbus master node. Each of the slave node modules has a node clock. The method can include sending a frame start command to the at least one slave node module from the toolbus master node at predetermined intervals, receiving a clock value from each of the slave node modules, calculating a clock offset for each of the slave node modules, and sending an absolute clock value and a calculated clock offset for each of the slave node modules via a downlink synchronization command to the slave node modules.

This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of systems, apparatuses, and methods for cable telemetry synchronization are described with reference to the following figures. Like numbers are used throughout the figures to reference like features and components.

FIG. 1 is a schematic representation illustrating a wellsite with a borehole traversing a subsurface formation and having a toolstring with a cable telemetry system deployed therein in accordance with an embodiment of the present disclosure.

FIG. 2 shows a block diagram illustrating an example cable telemetry synchronization system in accordance with an embodiment of the present disclosure.

FIG. 3-1 is a block diagram illustrating a synchronization sub-system in accordance with an embodiment of the present disclosure.

FIG. 3-2 is a block diagram illustrating a tool bus communication system in accordance with an embodiment of the present disclosure.

FIG. 3-3 is a schematic illustration of a data timing communications scheme in accordance with an embodiment of the present disclosure.

FIG. 3-4 is a schematic diagram illustrating a tool bus synchronization scheme in accordance with an embodiment of the present disclosure.

FIG. 3-5 is a schematic diagram illustrating a GPS-master clock synchronization system in accordance with an embodiment of the present disclosure.

FIG. 4 is a flowchart illustrating a method for synchronizing the cable telemetry system in accordance with an embodiment of the present disclosure.

FIG. 5-1 is a schematic diagram illustrating an example timing diagram for synchronizing the cable telemetry system in accordance with an embodiment of the present disclosure.

FIG. 5-2 is a schematic diagram illustrating time stamping in accordance with an embodiment of the present disclosure.

FIG. 5-3 is a schematic diagram illustrating communication flow between master and slave nodes in accordance with an embodiment of the present disclosure.

FIG. 5-4 is a schematic diagram illustrating time stamping using external interface packet (IP) clock time in accordance with an embodiment of the present disclosure.

FIG. 5-5 is a schematic diagram illustrating synchronization using a phase lock loop (PLL) system in accordance with an embodiment of the present disclosure.

FIG. 5-6 is a schematic diagram illustrating an example cable telemetry tool string in accordance with an embodiment of the present disclosure.

FIG. 6 is a schematic diagram illustrating an automatic coding scheme selection in accordance with an embodiment of the present disclosure.

FIG. 7 is a schematic diagram illustrating a downlink scheme in accordance with an embodiment of the present disclosure.

FIG. 8 is a schematic diagram illustrating timeline of synchronization events in accordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION

In the following description, numerous details are set forth to provide an understanding of the present disclosure. However, it will be understood by those skilled in the art that the present disclosure may be practiced without these details and that numerous variations or modifications from the described embodiments are possible.

The disclosure relates to a cable telemetry synchronization system and method involving synchronization between surface and downhole equipment operatively coupled by a cable. The surface equipment includes a surface telemetry clock linked to a downhole master node module, a toolbus master node clock and a plurality of slave node clocks of the downhole equipment. Compared to conventional telemetry systems, the present disclosure extends the synchronization of the clocks all the way to each of the downhole tool nodes. Embodiments of the present disclosure may achieve a synchronization accuracy of +/−10 μsec between a global positioning system (GPS) time at surface and downhole clock times across temperature and cable length ranges encountered in various logging operations.

A frame start command may be downlinked from the downhole master node module to each of the slave nodes, and at least one of a clock offset (based on time for a responsive uplink to return from each of the slave nodes) and a phase-lock adjustment based on arrival time for the frame start command may be determined by the downhole master node module, and applied to the slave node clocks. Further synchronization with the surface telemetry clock may be added with GPS information.

Each slave node may include a clock recovery module that, upon receipt of a downlink message from the nodes relatively uphole, detects the frame start command. Each slave node may also include a clock and a data recovery module that, upon receipt of an uplink message indicative of the coding scheme for the uplink message used by at least one node relatively downhole, locks the slave node to that coding scheme.

“Uplink” may be used to generally refer to any communication transferring data from a downhole tool to the surface, while “downlink” may be used to generally refer to any communication of a command or data from the surface to one or more downhole tools. Communication between downhole tools is termed “inter-tool” communication herein and includes communication between downhole tools without traveling to and from a surface module. Uplinking data may include passing to a CDR (clock and data recovery) module to lock the receiving node to the sending (i.e., lower) node a data transmission phase; the CDR is configured to detect the coding scheme by sensing the preamble (i.e., a prefix portion of the data indicating the time frame or coding scheme of the remainder of the data). Downlinking data may include passing to a clock recovery (CR) module to lock to the tool bus master clock by detecting a frame start command.

Examples of aspects of features usable with the present disclosure are provided in U.S. Provisional Patent Application Nos. 61/581,091 (filed on 29 Dec. 2011 entitled “A System and Method for Manipulation of Node Synchronization in a Multi-Scheme Tool Bus”); 61/581,093 (filed on 29 Dec. 2011 entitled “A Method for Numerical Controlled Oscillator Based Clock Synchronization in a Telemetry System”); and 61/581,096 (filed on 29 Dec. 2011 entitled “A Method and System for Node Synchronization in a Telemetry Bus”), the entire contents of each are incorporated herein by reference in their entireties.

Cable Telemetry Synchronization Overview

Referring to FIG. 1, an example wireline logging operation is illustrated with respect to the wellsite system 100 employed in a wellbore 102 traversing a subsurface formation 104. A downhole telemetry cartridge 110 is connected to a toolstring 116. In a well-logging operation, a plurality of tools (e.g., 230, 230′, etc. of FIG. 2) may be connected in the toolstring 116. The tools of the toolstring 116 communicate with the downhole telemetry circuits of downhole telemetry cartridge 110 via a bi-directional electrical interface.

In some embodiments, the tools of the toolstring 116 may be connected to the telemetry cartridge 110 over a common data bus. In some embodiments, each tool of the toolstring 116 may be individually, directly connected to the telemetry cartridge 110. In one embodiment, the telemetry cartridge 110 may be a separate unit, which is mechanically and electrically connected to the tools in the toolstring 116. In one embodiment, the telemetry cartridge 110 may be integrated into a housing of one of the well-logging tools 116.

The telemetry cartridge 110 is operatively coupled to a wireline cable 114. The tools of the toolstring 116, including the telemetry cartridge 110, may be lowered into the wellbore 102 on the wireline cable 114.

A surface data acquisition computer 118 is located at the surface end of the wireline cable 114. The surface data acquisition computer 118 includes or couples to an uphole telemetry unit 112. The data acquisition computer 118 may provide control of the components in the toolstring 116 and process and store the data acquired downhole. The acquisition computer 118 may communicate with the uphole telemetry unit 112 via a bi-directional electrical interface.

The uphole telemetry unit 112 may modulate downlink commands from the acquisition computer 118 for transmission down the cable 114 to the toolstring 116, and demodulates uplink data from the toolstring 116 for processing and storage by the surface data acquisition computer 118.

The downhole telemetry cartridge 110 contains circuitry to modulate uplink data from the tools of the toolstring 116 for transmission up the wireline cable 114 to the surface data acquisition computer 118 and to demodulate downlink commands or data from the surface data acquisition computer 118 for the tools of the toolstring 116.

A more detailed schematic view of an example cable telemetry system 200 is shown in FIG. 2. The cable telemetry system 200 shown includes a surface acquisition module/surface modem (DTM) 220 having a telemetry interface module (TIM) 222, which can be located at the surface as a portion of or operatively coupled to the surface data acquisition front end 119 (a component of surface data acquisition computer 118 of FIG. 1). The front end 119 may be, for example, eWAFE™ commercially available from SCHLUMBERGER™ (see: www.slb.com).

The surface data acquisition front end 119 is coupled to the wireline cable 114, and a downhole modem (DTC) 226 (as a portion of the downhole telemetry cartridge 110 at the head of the toolstring 116 of FIG. 1). The tool string 116 includes a number of downhole tools, 230, 230′, 230″, 230′″, etc. The downhole tools 230, 230′, etc., each containing a respective interface packet, 232, 232′, 232″, 232″, etc., through which they are in communication with the DTC 226 via a tool bus 228. The downhole tools 230, 230′, 230″, 230′″, etc. may also have tool node controllers 233, 233′, 233″, 233′″, etc., respectively.

The cable telemetry system 200 may handle data flows in opposite directions (i.e., from the tools 230, 230′, etc.) via the respective node and the tool bus 228. The flow extends to the DTC 226 to the DTM 220 over the cable 114 (“uplink”), and the reverse direction from the DTM 220 to the DTC 226 and tools 230, 230′, etc., over the same path (“downlink”). The cable telemetry system 200 provides a communication path from the tools, 230, 230′, etc., to the DTM 220 of the data acquisition computer 118 so that data acquired by sensors 231, 231′, 231″, 231″′, etc. of the downhole tools, 230, 230′, etc., can be processed and analyzed at the surface, as well as communication between tools 230, 230′, etc.

Each individual tool (230, 230′, etc.) may include a node command buffer (not shown) at the interface packet 232, 232′, etc., as well as a logic controller of its own (not shown). The surface acquisition front-end unit 119 may also include various additional components, such as a power module 221, a depth and tension module 223, and a flow controller software module (FEPC) 224.

The downhole telemetry cartridge 226 can include a downhole master node controller 227 that may examine packets sent by each respective tool 230, 230′, etc. Data communicated in either direction may be copied and buffered at the master node controller 227, and sent to the recipient.

A surface computer 234 can store and execute a surface data dispatcher module 236 (which may be, in an embodiment, a software data routing module, such as SCHLUMBERGER's™ MAXWELL™ framework). The surface computer 234 can also store and execute a plurality of surface tool-specific applications 238, 238′, 238″, 238′″, etc. that analyze and use data obtained, respectively, by tools 230, 230′, etc.

Referring to FIGS. 2 and 3-1, block diagrams are shown for the synchronization sub-system 300 for a cable telemetry system, such as the system 200 illustrated in FIG. 2. A (optional) GPS clock 340 (maintained at the surface, for example, in the surface acquisition front-end unit 119 or surface computer 234) is operatively coupled to the telemetry system master clock 342 (maintained at the surface by the DTM 220 or TIM 222, for example). The telemetry system master clock 342 is operatively coupled to a tool bus clock 344 (maintained downhole, for example, by the DTC 226), which in turn couples to each tool node clock 346, 346′, etc. of each respective tool 230, 230′, etc. via the toolbus 228. Generally, each slave node (i.e., individual tool(s) 230, 230′, etc.) can include the interface packet(s) 232, 232′, etc. to control the tool node clock(s) 346, 346′, etc. thereof, while the DTC 226 maintains the tool bus clock 344, the DTM 220 maintains the telemetry system master clock 342, and other surface equipment may maintain an optional GPS clock 340.

The GPS clock 340 may be used in some embodiments. In continuous and checkshot seismic surveys, synchronizing surface, downhole, and tool node clocks with GPS time permits sharing a common time reference between wave emission and reception clocks, and acquiring data at precise time intervals. In logging operations, synchronizing surface, downhole, and tool node clocks with GPS time permits sharing a common time reference between the downhole clock, used to time stamp the downhole tool measurement, and the surface clock, used to time stamp the downhole tool depth, and correlating measurements with depth.

The telemetry system master clock 342 value at the time the GPS signal is detected may be communicated to the surface data dispatcher module 236. The surface data dispatcher module 236 may continuously realign the telemetry system master clock 342 with GPS clock 340 time by assuming that the drift evolved smoothly between detections of the GPS signal. In an embodiment, after realignment, the telemetry system master clock 342 tracks the GPS clock 340 within about +/−1.4 μs.

The surface data acquisition front end 119 may use an Ethernet network to synchronize a depth and tension module 223 to the TIM 222. In an embodiment, each second, the TIM 222 transmits a single broadcast packet onto the local Ethernet network containing the current value for the telemetry system master clock 342 maintained by the TIM 222.

The depth and tension module 223 compares the received telemetry system master clock 342 value to its own free-running counter to determine a slowly evolving correction value, updated at a frequency of about 62.5 Hz. The depth and tension module 223 adjusted time may be computed by adding the correction value to the free-running counter. In an embodiment, the synchronization error may be not exceeding about +/−2 milliseconds (ms).

The DTC 226 may synchronize its internal clock (the toolbus clock 344) to the telemetry system master clock 342 via messages sent onto the wireline cable 114. The messages may be sent one-way by downlink or uplink. The messages may also be sent round trip including uplink plus downlink time. A round trip delay, including uplink time plus downlink time plus an inserted guard time, is the time difference between the transmission of an uplink frame and the reception of the next downlink frame by the DTC 226. Internally, the DTC 226 records the tool node clock 346 value upon the transmission of each uplink frame. Each following downlink maintenance packet contains the telemetry system master clock 342 timestamp recorded at the reception of the uplink frame. The DTC 226 also records the toolbus clock 344 at the reception of each downlink frame.

Since downlink and uplink share the same mode, the one-way trip propagation time may be determined as half of the round trip propagation time. Thus, with these clock values, and the knowledge of the inserted guard time, a propagation time can be estimated. The DTC 226 may adjust the toolbus clock 344 during each downlink frame based on the timestamp from the telemetry system master clock 342. In an embodiment, the synchronization described herein may also compensate for computational delays.

In an embodiment, the present disclosure may increase the accuracy of the calculation of cable telemetry systems in that the slave clock synchronization is increased to about 15 Hz (for example, about every 67 milliseconds), thereby reducing the duration of time the downhole (slave) clock is allowed to drift between updates and the amount of drift may be reduced by almost half (for example, from about 2.2 is compared to about 4.4 μs). The frequency of the telemetry system master clock can be increased, for example, to about 2.048 MHz from about 256 kHz, thus reducing the update uncertainty to about 0.49 μs.

In an example where both uplinks and downlinks occur on the same mode (propagation mode T5), the uplink trip time will be half the round-trip time. This change reduces the propagation time uncertainty by about 2.6 is (assuming about 2 μs/ft (0.61 μs/m) propagation speed, about 10% error in the propagation mode T5 to propagation mode T7 speed ratio estimate, and about 35,000 ft (10,668 m) cable length). Thus, the uncertainty in the master—slave clock synchronization is about 2.2 μs (the amount of drift allowed between updates as noted above)+about 0.49 μs (update uncertainty)=about 2.69 μs.

In order to provide synchronous timing for surface equipment and downhole equipment, including the slave nodes, a frame pulse (FP) can be used for periodic timing synchronization to a telemetry system time basis. The individual slave node clocks may be controlled so as to be synchronous to the toolbus master node clock, which is in turn synchronized to the telemetry system clock. The individual node clock synchronization may be done by downlink transmission delay measurement and/or individual node clock adjustment to be phase-locked to the toolbus master node clock. The two processes may be repeated continuously to establish and maintain the individual node clock synchronization with the telemetry system clock, the toolbus master node clock, and, optionally, the GPS.

In an example, each tool event time is time-stamped when the tool data arrives at the interface packet of a tool bus slave with the slave node clock. Due to individual node synchronization, the stamped time may be an absolute time immediately on a telemetry system time basis, and accordingly, the time-stamp accuracy may be increased beyond the accuracy of free running clocks. The DTM 220 monitors uplink and downlink transmission delays, and if clock offset values for the various nodes fluctuate by more than a threshold number of clock cycles, an error may be reported.

Referring now to the examples of FIG. 3-2, an illustrative embodiment is provided of a tool bus communication system including a master slave module and one or more tool slave modules (only one is shown in this example). In the downhole telemetry bus coupling the master slave module and the tool slave module, an event in a node (such as a tool slave module) may be time-stamped. However, problems may exist when the node's clock in the tool bus is not synchronized to the rest of the system.

In order to synchronize the clocks of the various nodes, a method following the tool bus communication system of FIG. 3-2 may be used. FIG. 3-2 shows an example tool bus configuration including a master slave module EDTC-H, a tool bus EFTB, and slave modules EIP 2.0. This figure also depicts the data flow through the system.

According to FIG. 3-2, a master slave module EDTC-H (e.g., DTC 226 of FIG. 2 or SCHLUMBERGER's™ Enhanced Digital Telemetry Cartridge-H) may include a master tool bus clock. For example, the master tool bus clock may be a Numerically Controlled Oscillator (NCO) operating at about 40.96 MHz. The master tool bus clock acts as the Job Time Counter. In some embodiments as described herein, the master tool bus clock may further be synchronized with a surface system.

In an embodiment, the EDTC-H may send a clock value to all of the lower nodes via the EFTB telemetry bus (such as SCHLUMBERGER's™ EFTB Enhanced Fast Tool Bus) using a downlink packet command (e.g., command A) about every 16 ms. The downlink packet may contain a frame start pulse (FSP), used synonymously with Frame Start Command (FSC). In some embodiments, each of the lower node's clocks may be driven by a Numerically Controlled Oscillator (NCO) operating at a frequency of approximately 40.96 MHz. A delay, based in hardware and/or software, is introduced by the EFTB bus as the clock value propagates across the EFTB.

In the interface packet of each node, the follow may occur to synchronize each node to the master tool bus clock. The delayed FSP (delayed by transmission across the EFTB bus) is passed to the tool slave module's Clock and Data Recovery (CDR) module. Each node then sends their clock values (SLVCLK-slave clock) after receiving the downlink packet command (command A). The DTC 226 may use the individual clock values of the particular tool slave modules (e.g., SCHLUMBERGER's™ EIP 2.0—Enhanced Interface packet 2.0) to determine each tool slave module's (i.e., node's) clock offset (DLTD-delta d). The frame start command may be delayed, based on various hardware or software factors, upon processing by the EFTB tool bus. The delayed frame start command may be sent through the tool slave module's Clock and Data Recovery (CDR) module.

The output of the CDR inputs the slave clock current time, the current delayed time for the master tool bus clock, as well as the previous most recent delayed time for the master tool bus clock into an adder, the result of which is latched in a clock register. The output of the latch reflective of the changed in delayed time is added to a period constant (i.e., 16 ms in this example), and the previous most recent clock value for the slave node. The output of the second adder is the reference slave node clock value (shown as Reference EIP2.0 clock value), which is latched to the clock register.

A second output of the CDR module is also latched, adding a 16 ms period constant from a second FSP to update the latch timing. The latched value may be passed to a scaler low pass filter (LPF), the result of which is latched, and used to adjust the dispersion up or down on the actual clock value shown for the slave node (i.e., actual EIP2.0 clock value).

Each latch register holds the most recent value until the next update FSP command is sent, which starts the slave node clock update process of FIG. 3-2 over again.

After the EDTC-H calculates the clock offset for each of the tool slave modules, the EDTC-H sends the initial value and the offset value of the clock via a second FSP command (e.g., command B). Each node then sets the initial value with the offset for that particular node's clock. Periodically (e.g., about every 16 ms), the previous steps may be repeated. In addition, the CDR module in a particular node may decode and latch the running clock, and compare this result to the clock signal sent from the EDTC-H.

In an embodiment, the compared results may be low-pass filtered and scaled so that a change to the clock is relatively small. The scaled value is then used to adjust the clock's NCOs.

By repeating the most recent two steps several times, a node's clock becomes synchronized to the clock of the EDTC-H, and in turn, to the clock on the surface. Additionally or alternatively, the clock signal from the NCO can be provided to the controller connected to the tool slave module (e.g., EIP 2.0). The clock signal may be synchronized to the EDTC-H.

FIG. 3-3 is a schematic illustration of a data timing communications scheme. In an illustrative embodiment of a tool bus communication system including a tool bus slave master and one or more tool bus slaves, such as the system of FIG. 3-2, a high data rate may be achieved to allow for real time decision making on the surface or downhole relating to measurements made by the sensors. In addition, in some embodiments, older and newer modules may be combined without regard to tool generation, to maximize the service life of older modules while introducing newer modules.

As shown in FIG. 3-3, an 8b10b encoding/decoding scheme is introduced by the first (and in this case, newer) tool bus slave, labeled EIP 2.0, identifying the interface packet (e.g., 232, 232′, etc. of FIG. 2). An older, or more conventional tool bus slave (labeled IP/EIP) using a bi-phase scheme, is also in communication with the tool bus slave master.

An embodiment of a communication system may be configured to communicate with the modules making up a particular tool string, sometimes known as backwards compatibility. The first tool bus slave may use a new generation communication scheme (such as SCHLUMBERGER's™ EFTB 2.0—Enhanced Fast Tool Bus version EIP 2.0). This first tool bus slave may be communicatively coupled to a second tool bus slave using a different communication scheme (such as SCHLUMBERGER's™ FTB or EFTB version IP or EIP (Interface Packet or Enhanced Interface Packet)). The system may support, for example, a 2 Mbps bi-phase (5.12 MHz) and an 8 Mbps 8b10b (10.24 MHz) encoding/communication schemes.

FIG. 3-4 is a schematic illustration of an embodiment of a tool bus synchronization scheme including both synchronous and coarsely synchronous modules according to aspects of the present disclosure. This scheme may be used to establish tool bus node synchronization across the entire tool and the various modules. In FIG. 3-4, both synchronous and coarsely synchronous downhole modules are included in the system.

In the illustrated embodiment, a telemetry system may include a master clock (telemetry system clock) at the surface. The master clock includes a data acquisition front end (e.g., 119 of FIG. 2), such as SCHLUMBERGER's eWAFE™ Enhanced Wireline Acquisition Front End. In some cases, the data acquisition front end may be based on Ethernet architecture and operate with Universal Power Supply (UPM) modules that are versatile and interchangeable. Other embodiments may have alternative or completely different configurations.

The front end may be communicatively coupled to a slave master module (e.g., 226 of FIG. 2), such as SCHLUMBERGER's™ EDTC—Enhanced Digital Telemetry Cartridge. The slave master module may include a slave clock (tool bus master clock) that is synchronous to the master clock. The tool bus master clock establishes the synchronization with the surface for the rest of the downhole tool modules (sometimes referred to herein as nodes). The first of multiple slave modules (two are shown in this example) may also include a clock, and is synchronously coupled to the master module. Another of the slave modules may only be coarsely synchronously coupled to the master module.

In the embodiment shown in FIG. 3-4, the lower portion of the first slave module is configured to be backwards compatible with the lowermost slave module (for example, communicating via a bi-phase communication scheme as discussed previously). The upper portion of the first slave module may be configured to be synchronized to the slave master module and therefore synchronized to the master module located at the surface. As a result, the lowermost slave module is only coarsely synchronous to the master slave module while the intermediate slave module is synchronous to the master slave module.

FIG. 3-5 shows a block diagram of GPS-Master Clock Synchronization combining the schematic of FIG. 2 with detail from FIG. 3-1. The system depicts a surface computer with software (i.e., MAXWELL application), applications and MAXWELL framework coupled to a surface acquisition system (eWAFE). The surface acquisition system includes a surface telemetry module (having the JTC clock 3) as well as a depth module. The surface acquisition system is linked by a logging cable to a downhole telemetry cartridge. The downhole telemetry cartridge is coupled by a tool bus to downhole tools EFTB 2.0 tool 1 and EFTB 2.0 Tool 2. A GPS clock 4 may optionally be included in the system of FIG. 3-5 for synchronization between the master and slave nodes.

The downhole telemetry cartridge includes the tool bus master clock 2 (labeled EFTB 2.0 master), as well as cable telemetry firmware. EFTB 2.0 Tool 1 includes, as detailed above, an interface packet EIP 2.0, a node tool controller, and a plurality of sensors. The EFTB 2.0 Tool 1 includes a slave clock 1. Likewise, EFTB Tool 2 includes, an interface packet EIP 2.0, and a node tool controller.

In an embodiment, a telemetry system master clock is implemented as a Job-Time-Counter 3 (JTC) incremented in cycles (e.g., every 8 cycles). The master clock may be an oscillator (e.g., NCO) having a nominal frequency (e.g., of about 16.384 MHz). The telemetry system master clock is incremented about every 0.488 ms, or at a frequency of about 2.048 Mhz. The GPS clock 4 generates an external signal at about 1 pulse-per-second (PPS) that may be regularly detected by the surface software (e.g., by TIM 222 of FIG. 2). As shown in FIG. 3-5, an arrow between two clocks shows that the clock having the end of the arrow is synchronized to the clock where the arrow points.

The telemetry system master clock 342 increments between consecutive detections of the GPS signal may be indicative of drift in the telemetry system master clock relative to the GPS reference time measured in multiple of about 0.488 μs. In an embodiment, without accounting for drift of the oscillator, the GPS clock 340 signal may be detected every 1,024×2,000=2,048,000 increments of the telemetry system master clock. In an embodiment, the node clocks may be derived from oscillators rated at about 40.96 MHz with about +/−250 pules per minute (ppm). The JTC serves as the time for the master clock of the telemetry module (TIM) 222.

Turning now to FIG. 4, a flowchart is shown for a method 400 for synchronizing a cable telemetry synchronization system. The method 400 can begin with sending 450 a downlink frame start command. The sending may involve, for example, sending from the DTC 226 to one or more slave modules at predetermined intervals via the toolbus 228 (which may be, for example, SCHLUMBERGER™'s EFTB (Enhanced Fast Tool Bus)). In an example embodiment, the predetermined interval may be about 16 ms.

The downlink frame start command may be delayed during processing by the toolbus 228 due to, for example, hardware limitations. The delayed downlink frame start command may be processed at each individual node in a clock recovery module that, upon receipt of a downlink message from nodes relatively uphole, detects the frame start command (i.e., an arrival time).

The method can continue with receiving 452 a clock value uplinked from each of the one or more slave modules, in response to the downlink frame start command. In an embodiment, the toolbus master node clock 344 may be driven by an oscillator (NCO), at a frequency of, for example, about 40.96 MHz.

The method can continue calculating 454 a clock offset for each of the slave modules (i.e., the individual tools 230, 230′, etc.), for example, using the DTC 226 to calculate based on a function of the arrival time for the downlink frame start command and the response time for the response uplinked from each slave node in response to the downlink frame start command.

Telemetry Synchronization Explanation

FIG. 5-1 depicts a timing diagram 500 plotting signal amplitude over time for a toolbus master and two slave nodes, depicted as Tool 1 and Tool 2. The toolbus master node clock sends a frame start command 564 at a time t_(r0). As can be seen, there is a delay in transmission to Tool 1 as well as a delay in transmission to Tool 2 (due to toolbus processing), such that the frame start command 564 arrives at Tool 2 at a time t_(r2) and arrives at Tool 1 at a time t_(r1).

Each slave node (at Tool 1 and Tool 2) latches the toolbus master node clock value at the time of receiving the frame start command 564 (at time t_(rn) where n=tool number in the toolstring). Each slave node also latches the toolbus master node clock value at the time of sending an uplink (which can include a frame time length 568, an uplink time 570, and packet data 572) in response (at a time t_(sn) where n=tool number in the toolstring). Over time, the values latched by each slave node can be sent to the toolbus master node controller (e.g., 227 of FIG. 2) as uplink packets.

At time t_(s2) an uplink, including the time frame preamble 568, the uplink time 570 and the packet data 572, is sent from Tool 2 at t_(s2) to Tool 1 and passed on at time t_(s1). Another uplink at t_(s4), including a time frame preamble 574, an uplink time 576, and packet data 578 is sent from Tool 1 at t_(s3) to Tool 2 until each slave node has received the frame start command 564 and sends a response uplink. The toolbus master node controller 227 may also latch the toolbus master node clock value t_(s0) at the time of receiving the uplink packets from Tool 1 and Tool 2, and may calculate the clock offset according to a function of the form:

Clock offset=(t _(s0) +t _(r0))/2−(t _(sn) +t _(rn))/2  Eq. (1)

where t_(r0)=time of sending frame start command from the toolbus master, t_(so)=time of sending first packet of data from toolbus master, t_(rn)=time of receiving the frame start command at Tool n, where n=the Nth tool in the toolstring, and t_(sn)=time of sending first packet of data from Tool n. The toolbus master node controller may generate and send still another uplink, shown in FIG. 5-1 as sending at time t_(s5) including the frame time 580 for the master, the uplink time 582 for the master clock, and packet data 584, which is sent to the DTM (e.g., 220 for synchronizing with the telemetry system master clock).

Referring back to FIG. 4, the method can continue with sending 456 an absolute clock value (from the toolbus master node clock) and the calculated offset value for each of the slave node via a downlink synchronization command to the one or more slave modules. Each node can then set the initial value for its own clock with the clock offset for that particular node's clock. The compared result may be low-pass filtered and scaled so that the change to the clock is small. The scaled value may be used to adjust each node clock's NCO.

The method can optionally continue with determining 460, for each slave node module, a phase-lock adjustment based on a function of an arrival time for the frame start command, as determined by the clock and data recovery (CDR) module (i.e., logic circuit) implemented in each tool node controller (e.g., 233, 233′, etc. of FIG. 2). Upon receipt of an uplink message at the slave node from any tool located relatively downhole thereof, the node controller detects a preamble of the uplink message indicative of the coding scheme used by the lower node or nodes for the uplink message, and locks the slave node to the detected coding scheme of the preamble. A first in-first out (FIFO) buffer at each node may be implemented for this purpose.

Each node clock may be controlled (speeded up or slowed down) to phase lock to the timing of the downlink frame start command arrival time. Each slave node may also implement a clock recovery (CR) module (i.e., logic circuit) that, upon receipt of a downlink message, detects the frame start command, which can be used in the previous blocks as well as in the phase-lock mechanism of block 460.

The method can continue with each relevant slave node updating 462 its node clock based on the absolute clock value (i.e., the telemetry system master clock value) and the clock offset for the particular slave node, as well as the phase-lock adjustment. Periodically, part or all of the method may be repeated to maintain synchronization between the system components.

Accordingly, the tool node controller (e.g., 233, 233′, etc.) for each individual node can latch event data from the tool (e.g., 230, 230′, etc.) by means of the telemetry system's time (i.e., from the toolbus master node clock 344). In an example involving individual node clocks synchronized to the telemetry system's time, a tool node controller(s) (e.g., 233, 233′, etc.) for individual tool enables an external IP clock mode. A value EIP_LATCH may be asserted at input at the timing of a tool event so that the interface packet 232, 232′, etc. for the tool 230, 230′, etc. latches the node clock value to the appropriate register. The tool node controller 233, 233′, etc. gathers the data sensing tool event and also reads the latched node clock from the interface packet 232, 232′, etc. register. The tool node controller 233, 233′, etc. may create an uplink message that is time-stamped with the latched node clock value in the register. The tool node controller 233, 233′, etc. may write the tool message to the interface packet 232, 232′, etc. to send to the surface via the tool bus 228.

The method may be performed in any order and repeated as desired, for example, until the desired degree of synchronization is achieved.

In an embodiment, the frame start command may be issued about every 16 ms when the lower 15 bits of slave clock rolls over, and the master (e.g., EFTB 2.0) latches the slave clock counter value at the time of sending (t_(r0)). In an embodiment, each interface packet 232, 232′, etc. of each node 230, 230′, etc. latches its clock at the time of receiving the frame start command (t_(r1), t_(r2), . . . ).

In an embodiment, each interface packet 232, 232′, etc. of each node 230, 230′, etc. latches its own clock at the time of first uplink packet sending (t_(s1), t_(s2), . . . ). The clock values latched most previously, that is (frame time 1, frame time 2, . . . ) and (uplink time 1, uplink time 2, . . . ), are sent to the master (e.g., EFTB 2.0), in the tool packet header.

The master (e.g., EFTB 2.0) latches the slave clock counter value at the time of receiving the first uplink packet (t_(s0)). The master calculates the transmission delay and the clock offsets as described herein. The uplink and downlink transmission delays are monitored at the master. If the offset values fluctuate more than several clock ticks (TBD at the implementation), an error is reported.

During initial synchronizations of the interface packet 232, 232′, etc. of each node 230, 230′, etc. clock, after the link (e.g., EFTB 2.0) is established, the transmission delay measurement may be performed. If the node uplinks and downlinks are confirmed as acceptable, the master (e.g., EFTB 2.0) may calculate each interface packet clock offset from the slave clock. The master may send a clock correction value obtained from the offset to each interface packet. The master sends frame pulse generation time value to each interface packet.

The present disclosure may reduce the uncertainty of the “absolute” acquisition time of data as well as “relative” acquisition time between nodes by introducing measurements of transmission delay. The downlink transmission delay may be handled by using a fixed value. This value may be only an approximation as the delays may not be unique among various IP/EIP implementations and setting a fixed delay according to tool location may not be done at all.

The uncertainty of the “absolute” acquisition time of data as well as “relative” acquisition time between nodes may be reduced by introducing synchronization between the slave clock in the telemetry cartridge clock and the clocks of each interface packet 232, 232′, etc. of each node 230, 230′, etc. based on the measured transmission delay.

The present disclosure may reduce the uncertainty of the “absolute” acquisition time of data as well as “relative” acquisition time between nodes by introducing a higher node clock frequency (e.g., at 2.048 MHz instead of 256 kHz). Thus, the update uncertainty may be reduced from about +/−3.9 μs to about +/−0.49 μs.

The present disclosure may also reduce the uncertainty of the “absolute” acquisition time of data as well as “relative” acquisition time between nodes by introducing digital Phase Lock Loop (PLL) in the downlink data transmission to maintain clock drift within about 9 clk for every frame from the upper node. The clock drift between adjacent nodes may be reduced to about 14 ppm (i.e. (9/40.96 MHz)/16 ms) or 220 ns.

Total synchronization accuracy may be shown in Chart 1 below. The total represents the overall accuracy between the GPS receiver and the timestamp derived from the tool messages at that instant.

CHART 1 Link Accuracy GPS-Master Clock Synchronization 1.4 μs Master Clock (TIM) - Slave Clock (e.g., 2.7 μs EDTC) Synchronization Slave Clock (e.g., EDTC) - Tool Node 2.1 μs (worst-case within Clock Synchronization at bottom node Gaussian distribution) number (Total number of slave nodes is 31) Total 6.2 μs

FIG. 5-2 is a schematic illustration of time stamping according to an embodiment of the present disclosure. The time stamping depicted is a normal time stamp illustrating a tool event that is sensed by a tool controller, and a message is sent via EIC to an EIP 2.0. A tool event time is time-stamped when the tool data sensed arrives at an interface packet labeled EIP 2.0 (e.g., 232, 232′, etc. of each node 230, 230′, etc.), having passed through the tool controller 233, 233′, etc., collectively contributing to a software delay, with the value from the tool node clock of the particular node. Due to the individual node synchronization, the stamped time may be an absolute time on a telemetry system time basis. Accordingly, the time-stamp accuracy may provide a relatively higher accuracy than the accuracy achieved using free running clocks for measuring relative time.

FIG. 5-3 is a schematic illustration showing the communication flow between the master and slave nodes according to an embodiment of the present disclosure. A master is shown in communication with an EIP 2.0 of node 1 and EIP 2.0 of a node 2. The master has a master oscillator (EFTB 2.0 Master's Clock, in this case labeled as a master oscillator 343), and slave CLK that communicates with an EIP 2.0 CLK of node 1 and an EIP 2.0 CLK of node 2.

During interface packet CLK adjustment, the clocks can be derived from oscillators 345 rated at about 40.96 MHz with about +/−250 ppm. The digital Phase Lock Loop (PLL) method may be used in downlink data transmission at every frame received from the upper node. FIG. 5-3 shows the EFTB 2.0 clock and data flow. Slave CLK is driven from about a 40.96 MHz oscillator. The frame start command may be issued about every 16 ms measured at the slave CLK.

The interface packet for node 1 receives the frame start command at the CDR (Clock and Data Recovery) module. The command is passed to the CR (Clock Recovery) module. In the CR module, the difference between slave CLK and tool node CLK based on TX CLK are measured compensating the propagation delay. TX_CLK can be adjusted so that the interface packet (e.g., 232, 232′, etc. for node 230, 230′, etc. clock) matches to the slave CLK.

The TX CLK is used to drive tool node CLK, and also the modulator. The downlink bit stream frequency clocks out to the interface packet of node 2 from the interface packet of node 1 to match with the downlink bit stream frequency from the master.

The time needed for downlink commands to pass the CDR module may be made constant. The interval of the frame start command for the interface packet for node 2 may be the same as the interface packet for node 1. The interface packet for node 2 may perform the same process as the interface packet for node 1. The TX_CLK of the interface packet for node 2 and the downlink bit stream frequency to the node below may be roughly the same as for the interface packet for node 1.

Still referring to FIG. 5-3, the slave master clock may be driven from a slave oscillator, which may be synchronized to the master clock (telemetry system clock) in a similar way as in a conventional tool bus. The frame start command may be issued periodically by the master. As shown in the schematic, the various signals can be modulated (MOD) or demodulated (DEMOD) depending on the direction of the data flow.

Each of the interface packets of the nodes receives a frame start command from a clock and data recovery (CDR) module. The frame start command is passed directly to the clock recovery (CR) module. The frame start command generation timing is synchronous to the slave master clock. Accordingly, the EIP2.0 clock is controlled (speeded up or slowed down) to phase lock to the timing of the frame start command arrival.

By setting each of the individual nodes EIP 2.0 clock's delay from the frame start command arrival, an event in the nodes can be synchronized to each other. As shown in FIG. 5-1, the synchronized event can be a frame pulse (FP), such as frame pulses 566.

FIG. 5-4 is a schematic illustration of time stamping using external interface packet (IP) clock time, according to an embodiment of the present disclosure. This figure shows an external IP clock time stamp where a tool event is sensed by the tool controller, and a message is passed from the tool controller to the EIP 2.0. A clock value is returned from the EIP 2.0 to the tool controller.

The EIP 2.0 clock's (slave clock or tool bus clock) value is synchronized to the slave master clock (tool bus master clock), which is in turn synchronized to the master clock (telemetry system clock). The interface to notice the EIP 2.0 clock value is added to the EIP 2.0. Accordingly, the tool controller for each of the individual nodes can latch its own events by means of the telemetry system time from the master clock.

A method can be used for situations in which the individual node clocks are synchronized to the telemetry system's time, such as when a tool controller enables an external IP clock mode, when EIP_LATCH (input pin in EIP2.0) is asserted at the timing of a tool event so that EIP 2.0 latches the EIP 2.0 clock value to the appropriate register, when a tool controller gathers the data sensing tool event and also reads the latched EIP 2.0 clock from the EIP 2.0 register (and the tool controller then creates a tool message filled with data, the message being time-stamped with the latched EIP 2.0 clock), and when a tool controller writes the tool message to EIP 2.0 to send to the surface via the tool bus.

Through the procedure, the accuracy of tool event time stamping may depend on hardware delay from the tool event occurrence to the EIP 2.0 clock latch. In a conventional system, the accuracy of the tool event time stamping may be relatively larger due to the software process delay. The extent that the software delay is reduced is still under investigation.

FIG. 5-5 is a schematic illustration of synchronization using a phase lock loop (PLL) system, according to an embodiment of the present disclosure. FIG. 5-5 shows a tool application coupled to an EIP 2.0. The tool application receives a clock-out signal from the EIP 2.0 clock.

The EIP 2.0 clock-out gets synchronized to the telemetry system clock (master clock) via the slave master clock. The interface to provide EIP 2.0 clock-out is added to the EIP 2.0. The tool application can generate a tool system clock synchronous to the telemetry system clock by using an appropriate stabilizer and a PLL mechanism. This method can be used for situations in which an individual node clock is synchronized to the telemetry system's time.

FIG. 5-6 is a block diagram illustrating an example cable telemetry tool string in accordance with an embodiment of the present disclosure. The block diagram shows a downhole modem (e.g., DTC 226) including a tool bus master and a cable modem interface. The tool bus master (e.g., EFTB 2.0) includes a master controller, a transceiver and an interface. The master is coupled to a cable modem.

The downhole modem (e.g., EFTB 2.0) includes a telemetry tool (e.g., EDTC-H) with a tool bus slave, a transceiver, and a slave controller. The telemetry tool is coupled to next most proximate tool bus slave in the tool string.

Turning now to FIG. 6, an embodiment of a configuration for uplink data reception is shown for multiple downhole tools of a toolstring. The toolstring is shown as having three tools, with two using synchronously coupled slave modules and one using a conventional slave module. Specifically, as shown in FIG. 6, Tool #1 uses EIP2.0, Tool#2 uses EIP2.0 and Tool#3 uses IP/EIP. A master (e.g., EFTB 2.0) coupled to a cable modem is shown in detail.

When receiving the uplink data by one of the multiple slave tool modules, a CDR module (i.e., logic unit) can be employed to lock to the lower nodes data transmission phase. In an embodiment including a multi-coding scheme, the CDR may be used to detect a particular coding scheme by sensing a preamble (i.e., a prefix portion of the data indicating the time frame or coding scheme of the remainder of the data).

In the example illustrated by FIG. 6, a FIFO (First In, First Out) CDR module has the responsibility to absorb the clock difference between the sending node and the receiving node. This may be provided such that the received data is not transmitted on to the upper node (or master module) on the recovered clock and instead is temporarily stopped by a NG (No Go). In more detail, an uplink data signal as shown in the bottom right of the FIG. 6 shows an uplink packet, followed by a guard band, followed by a preamble, followed by the next uplink packet. The uplink data signal enters the CDR module of Tool #1, where a bi-phase decoder and 8B/10B decoder analyzes the uplink data signal to identify the preamble separately from the uplink data. The preamble information can be used in the upper portion of the Tool #1 node to lock the transmission to the same modulation scheme used by the lower node (i.e., Tool #2 or Tool #3, where the uplink data signal originated).

FIG. 7 shows a schematic of an embodiment of a configuration for downlink data transmission. In an embodiment, the downlink transmission also has a multi-scheme modulation similar to the uplink data reception described with respect to FIG. 6, employing a Clock Recovery (CR) module in the downlink embodiment analogous to the CDR module described with respect to FIG. 6. The CR module may synchronize the clocks whereas the CDR module may synchronize the clocks and sample data.

In an embodiment, the CR module may synchronize the telemetry system clock (located at the surface in the master module) to the master slave clock (i.e., the tool bus master clock) by detecting the frame start command. Further down the tool string, the synchronous clock from CR module at the master slave module may be applied to the data transmission and the slave clock counter via the CDR in the slave modules, thereby locking the downlinked data to the tool bus master clock.

By transmitting the data based on the synchronous clock and generating the synchronous slave clock, EFTB 2.0 tool bus master (labeled EFTB 2.0 master) and EFTB 2.0 tool bus slaves (labeled EIP 2.0) can exchange data according to a common synchronized clock.

The synchronized clock is applied to the EIP 2.0 clock. In an embodiment, the recovered clock from CDR is not applied to a given tool node clock, otherwise the tool node clock is synchronous to the lower node (not the tool bus master as it should be).

FIG. 8 shows an example timeline of synchronization events, in accordance with an embodiment of the present disclosure. The timeline extends from times t1 through t5, and includes a recorded round trip time plus guard time from times t1-t4 which includes an uplink propagation delay from times t1 through t2, a guard time from times t2 through t3, a downlink propagation delay a from times t3 through t4, and a slave clock loaded at time t5.

The DTC 226 may synchronize its internal clock (the toolbus clock) to the telemetry system master clock via messages sent by uplink onto the wireline cable (e.g., 114 of FIGS. 1 and 2). A round trip delay (uplink time plus downlink time plus an inserted guard time) is the time difference between the transmission of an uplink frame and the reception of the next downlink frame by the DTC 226. Internally, the DTC 226 records the tool node clock value upon the transmission of each uplink frame. Each following downlink maintenance packet contains the telemetry system master clock timestamp recorded at the reception of the uplink frame. The DTC 226 also records the toolbus clock at the reception of each downlink frame.

In a given example, at time t1 the DTC 226 starts an uplink transmission in mode T5. At time t2, the TIM 222 receives the last uplinked frame, and the value of the master clock is time stamped onto the uplinked data. A guard time is inserted between the uplink transmission and downlink transmission. At time t3, the TIM 222 starts a downlink transmission. At time t4, the DTC 226 receives the first downlinked frame, and at time t5 the value for the slave clock is loaded. The uplink propagation delay may be time t2−time t1. The downlink propagation delay may be time t4−time t3.

Since downlink and uplink share the same mode, the one-way trip propagation time may be determined as half of the round trip propagation time. With these clock values and the knowledge of the inserted guard time, a propagation time may be estimated. The DTC 226 may adjust the toolbus clock during each downlink frame based on the timestamp from the telemetry system master clock. In an embodiment, the synchronization described here may also compensate for computational delays.

The various techniques disclosed herein may be utilized to facilitate and improve data acquisition and analysis in downhole tools and systems. In this, downhole tools and systems are provided that utilize arrays of sensing devices that are configured or designed for easy attachment and detachment in downhole sensor tools or modules that are deployed for purposes of sensing data relating to environmental and tool parameters downhole, within a borehole. The tools and sensing systems disclosed herein may effectively sense and store characteristics relating to components of downhole tools as well as formation parameters at elevated temperatures and pressures. Chemicals and chemical properties of interest in oilfield exploration and development may also be measured and stored by the sensing systems contemplated by the present disclosure.

The sensing systems herein may be incorporated in tool systems such as wireline logging tools, measurement-while-drilling and logging-while-drilling tools, permanent monitoring systems, drill bits, drill collars, sondes, among others. For the purposes of this disclosure, when any one of the terms wireline, cable line, slickline or coiled tubing or conveyance is used it is understood that any of the referenced deployment means, or any other suitable equivalent means, may be used with the present disclosure without departing from the spirit and scope of the disclosure.

While the disclosure has been described with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations there from. It is intended that the appended claims cover such modifications and variations as fall within the true spirit and scope of the disclosure.

Although a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from this disclosure. Accordingly, such modifications are intended to be included within the scope of this disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not simply structural equivalents, but also equivalent structures. Thus, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface, in the environment of fastening wooden parts, a nail and a screw may be equivalent structures. It is the express intention of the applicant not to invoke 35 U.S.C. §112, paragraph 6 for any limitations of any of the claims herein, except for those in which the claim expressly uses the words ‘means for’ together with an associated function. 

1. A cable telemetry synchronization system for a wellsite having a rig positionable about a borehole penetrating a subterranean formation, comprising: a surface module comprising a telemetry system clock; downhole equipment deployable into a wellbore via a cable operatively coupled to the surface module, the downhole equipment comprising: at least one slave node module, each of the at least one slave node module having a node clock and interface packet; and a downhole master node module comprising a toolbus master node clock synchronized to the telemetry system clock, and the downhole master node module sends a frame start command to each of the at least one slave node module to synchronize the node clock(s) to the toolbus master node clock.
 2. The cable telemetry synchronization system according to claim 1, further comprising a global positioning system (GPS) clock; wherein the telemetry system clock and the toolbus master node clock further synchronize to the GPS clock.
 3. The cable telemetry synchronization system according to claim 1, wherein the downhole master node module determines, for each of the at least one slave node module, a clock offset based on a function of an arrival time for the frame start command and a response time for a return uplink packet from each of the at least one slave node module in response to the frame start command.
 4. The cable telemetry synchronization system according to claim 3, wherein, upon determining the clock offset for each of the at least one slave node module, the downhole master node module sends an absolute clock value and the clock offset for each of the at least one slave node module to a relevant one of the at least one slave node module, and each relevant one updates the node clock based on the absolute clock value and the clock offset for the relevant one.
 5. The cable telemetry synchronization system according to claim 3, wherein the interface packet for each of the at least one slave node module, upon receipt of the absolute clock value and a clock offset time, time stamps slave node event data based on the absolute clock value and the clock offset time for the at least one slave node module; and wherein the slave node event data is obtained by at least one downhole tool coupled to the at least one slave node module.
 6. The cable telemetry synchronization system according to claim 1, wherein each of the at least one slave node module further comprises a clock and data recovery (CDR) module that, upon receipt of an uplink message at the at least one slave node module, detects a preamble of the uplink message indicative of a coding scheme used by at least one lower node of the at least one slave node module for the uplink message, and locks the at least one slave node module to the detected coding scheme of the preamble.
 7. The cable telemetry synchronization system according to claim 1, wherein each of the at least one slave node module further comprises a clock recovery (CR) module that, upon receipt of a downlink message, detects the frame start command.
 8. The cable telemetry synchronization system according to claim 1, further comprising a numerically controlled oscillator, the toolbus master node clock being driven by the numerically controlled oscillator.
 9. A method for synchronizing a cable telemetry synchronization system of a wellsite having a rig positionable about a wellbore penetrating a subterranean formation, comprising: positioning downhole equipment into the wellbore via a cable, the downhole equipment comprising a toolbus master node and at least one slave node module operatively coupled to the toolbus master node, each of the at least one slave node module having a node clock; sending a frame start command to the at least one slave node module from the toolbus master node at predetermined intervals; receiving a clock value from each of the at least one slave node module; calculating a clock offset for each of the at least one slave node module; and sending an absolute clock value and the calculated clock offset for each of the at least one slave node module via a downlink synchronization command to the at least one slave node module.
 10. The synchronization method according to claim 9, wherein calculating the clock offset further comprises determining, for each of the at least one slave node module, the clock offset based on a function of an arrival time for the frame start command and a response time for a return uplink packet from each of the at least one slave node module in response to the frame start command.
 11. The synchronization method according to claim 9, further comprising: obtaining slave node event data by at least one downhole tool coupled to the at least one slave node module; and upon receipt of the absolute clock value and a clock offset time, time stamping the slave node event data based on the absolute clock value and the clock offset time for the at least one slave node module.
 12. The synchronization method according to claim 9, further comprising updating the node clock of a relevant one of the at least one slave node module based on the absolute clock value and the clock offset for the relevant one slave node.
 13. The synchronization method according to claim 9, further comprising determining, for each of the at least one slave node module, a phase-lock adjustment based on a function of an arrival time for the frame start command.
 14. The synchronization method according to claim 9, further comprising synchronizing the toolbus master node and the at least one slave node module to a global positioning system (GPS) clock. 